package com.chart.chart.domian;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chart.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("chart_settings")
public class ChartSettings extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 参数主键 */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 布局设置 */
    private String layout;

    /** X 轴设置 */
    @JsonProperty("xSingle")
    @TableField("x_single")
    private String xSingle;

    /** X 轴设置 */
    @JsonProperty("xList")
    @TableField("x_list")
    private String xList;

    /** Y 轴设置 */
    @JsonProperty("ySingle")
    @TableField("y_single")
    private String ySingle;

    /** Y 轴设置 */
    @JsonProperty("yList")
    @TableField("y_list")
    private String yList;

    /** X 轴设置 (3D) */
    @JsonProperty("x3d")
    @TableField("x_3d")
    private String x3d;

    /** Y 轴设置 (3D) */
    @JsonProperty("y3d")
    @TableField("y_3d")
    private String y3d;

    /** Z 轴设置 (3D) */
    @JsonProperty("z3d")
    @TableField("z_3d")
    private String z3d;

    /** 水平坐标系设置 */
    private String parallel;

    /** 角度轴设置 */
    @JsonProperty("angleAxis")
    @TableField("angle_axis")
    private String angleAxis;

    /** 径向轴设置 */
    @JsonProperty("radiusAxis")
    @TableField("radius_axis")
    private String radiusAxis;

    /** 雷达坐标轴设置 */
    private String radar;

    /** 光影设置 */
    @JsonProperty("shading3D")
    @TableField("shading_3d")
    private String shading3D;

    /** 柱状图设置 */
    @JsonProperty("bar3")
    @TableField("bar_3")
    private String bar3;

    /** 图例设置 */
    private String legend;

    /** 3D 设置 */
    @JsonProperty("grid3D")
    @TableField("grid_3d")
    private String grid3D;

    /** 数据标签设置 */
    @JsonProperty("dataLabel")
    @TableField("data_label")
    private String dataLabel;

    /** 折线设置 */
    private String line;

    /** 渐变设置 */
    private String gradient;

    @JsonProperty("name")
    private String name;

    @TableField(exist = false)
    private List<ChartLabels> children;

    @JsonProperty("configName")
    private String configName;

    @JsonIgnore
    private String createBy;

    @JsonIgnore
    private String updateBy;

    @JsonIgnore
    private Date createTime;

    @JsonIgnore
    private Date updateTime;

    @JsonIgnore
    private String remark;


    private String  imageSet;

    private String errorBar;
}
